<?php
/**
 * 元素定义接口.
 *
 * @version $Id: IElement.php 312 2008-04-23 16:29:38Z iwind $
 * @package util.sqlmap.element2
 */
interface IElement {
	/**
	 * 设置IXMLNode节点
	 *
	 * @param IXmlNode $node IXmlNode节点
	 */
	public function setNode(IXmlNode $node);
	
	/**
	 * 设置数据库驱动
	 *
	 * @param IDbDriver $driver 数据库驱动
	 */
	public function setDriver($driver);
	
	/**
	 * 设置所在的元素解析器中所含的元素表(element map)
	 *
	 * @param array $elementMap 元素表
	 */
	public function setElementMap(&$elementMap);
	
	/**
	 * 执行当前元素所含的语句
	 *
	 */
	public function execute();
	
	/**
	 * 从当前元素中取到语句对象
	 * 
	 * @return IDbStatement
	 */
	public function toStatement();
	
	/**
	 * 得到标签名
	 *
	 * @return string
	 */
	public function getTagName();
	
	/**
	 * 设置命名空间
	 *
	 * @param string $namespace 命名空间
	 */
	public function setNamespace($namespace);
	
	/**
	 * 设置替换列表
	 *
	 * @param array $replaceMap 替换列表（关联数组）
	 */
	public function setReplaceMap($replaceMap);
}

?>